/**
 * Title: Hyperbolic engine
 * Description: jFamilyTree Engine
 * Version: provider
 * Copyright: (c) 2001-2008
 * Terms of use:see license agreement at http://treebolic.sourceforge.net/en/license.htm
 * Author: Bernard Bou
 * Company: bsys
 * Update: Mon Mar 10 00:00:00 CEST 2008
 */
package jFamilyTree;

import java.awt.Image;
import java.net.URL;

/**
 * Context interface (to be implemented by the application/applet/window that is hosting the widget
 * 
 * @author Bernard Bou
 */
public interface IContext
{
	/**
	 * Get base URL
	 * 
	 * @return base url
	 */
	public URL getBase();

	/**
	 * Get images base URL
	 * 
	 * @return images base url
	 */
	public URL getImagesBase();

	/**
	 * Get embedding HTML document base URL
	 * 
	 * @return base url
	 */
	public URL getHtmlDocumentBase();

	/**
	 * Get parameter
	 * 
	 * @param thisName
	 *        parameter name
	 * @return parameter value
	 */
	public String getParameter(String thisName);

	/**
	 * Get image
	 * 
	 * @param thisURL
	 *        url
	 * @return image
	 */
	public Image getImage(URL thisURL);

	/**
	 * Navigate to link
	 * 
	 * @param thisLinkUrl
	 *        link url
	 * @param thisLinkTarget
	 *        link target
	 * @return true if the context handles the link, false means the current provider will re-init () with the link as source
	 */
	public boolean linkTo(String thisLinkUrl, String thisLinkTarget);

	/**
	 * Show status
	 * 
	 * @param thisString
	 *        message
	 */
	public void showStatus(String thisString);
}
